package com.shop.trade.atom.atomsvc;

import com.shop.common.model.InputBean;
import com.shop.common.model.ServiceBean;
import com.shop.common.model.param.trade.OrderPayInput;
import com.shop.common.model.result.trade.OrderPayOutput;
import com.shop.trade.api.model.StatisModel;

import java.util.List;

public interface IPayAtomSvc {
    /**
     * @Author zhoulk
     * @Description //TODO 插入支付单
     * @Date 20:11 2019/3/11
     *
     * @Param [orderPayInput]
     * @return com.shop.common.model.ResultModel<java.lang.Integer>
     * @errorCode //TODO        
     **/
    ServiceBean<Integer> insertOrderPay(OrderPayInput orderPayInput);

    /**
     * @Author zhoulk
     * @Description //TODO 删除支付单
     * @Date 20:11 2019/3/11
     *
     * @Param [orderPayInput]
     * @return com.shop.common.model.ResultModel<java.lang.String>
     * @errorCode //TODO        
     **/
    ServiceBean<Integer> deleteOrderPay(Integer id);

    /**
     * @Author zhoulk
     * @Description //TODO 查询支付单详情
     * @Date 20:12 2019/3/11
     *
     * @Param [orderPayInput]
     * @return com.shop.common.model.ResultModel<com.shop.common.model.result.trade.OrderPayOutput>
     * @errorCode //TODO        
     **/
    ServiceBean<OrderPayOutput> selectOrderPayById(Integer id);

    /**
     * @Function com.shop.trade.atom.atomsvc.IPayAtomSvc.qryOrderPay
     * @Description //TODO 查询支付单
     *
     * @param: orderPayInput
     * @return com.shop.common.model.ServiceBean<com.shop.common.model.result.trade.OrderPayOutput>
     * @errorCode //TODO
     *
     * @Author zhoulk
     * @Date 2019/4/18 13:10
     *
     **/
    ServiceBean<OrderPayOutput> qryOrderPay(OrderPayInput orderPayInput);

    /**
     * @Author zhoulk
     * @Description //TODO 查询支付单列表
     * @Date 20:12 2019/3/11
     *
     * @Param [orderPayInput]
     * @return com.shop.common.model.ResultModel<java.util.List < com.shop.common.model.result.trade.OrderPayOutput>>
     * @errorCode //TODO        
     **/
    ServiceBean<List<OrderPayOutput>> selectOrderPayList(OrderPayInput orderPayInput);

    /**
     * @Author zhoulk
     * @Description //TODO 分页查询支付单列表
     * @Date 20:12 2019/3/11
     *
     * @Param [paramModel]
     * @return com.shop.common.model.ResultModel<java.util.List < com.shop.common.model.result.trade.OrderPayOutput>>
     * @errorCode //TODO        
     **/
    ServiceBean<List<OrderPayOutput>> selectOrderPayList4P(InputBean<OrderPayInput> inputBean);

    /**
     * @Author zhoulk
     * @Description //TODO 修改支付单信息
     * @Date 20:32 2019/3/11
     *
     * @Param [orderPayInput]
     * @return com.shop.common.model.ResultModel<java.lang.String>
     * @errorCode //TODO        
     **/
    ServiceBean<Integer> updateOrderPay(OrderPayInput orderPayInput);

    List<StatisModel> qryStatis(StatisModel statisModel);
}
